home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
011
/
brutil.arc
/
MACRO.LIB
< prev
next >
Wrap
Text File
|
1988-03-04
|
10KB
|
644 lines
BASYNC MACRO
ALNG EQU 9
BLNG EQU ((ALNG*8)+2)/3
CLNG EQU ALNG*2
DLNG EQU ALNG*3
ELNG EQU CLNG-1
ENDM
IFSTR MACRO P1
$11 = 1
$12 = 0
IRPC P0,<P1>
IF $11
$11 = 0
IF ("&P0&P0" EQ "''") OR ('&P0&P0' EQ '""')
$12 = 1
ENDIF
ENDIF
ENDM
ENDM
JNM MACRO P1
JNS P1
ENDM
JNNC MACRO P1
JC P1
ENDM
JNNZ MACRO P1
JZ P1
ENDM
JNP MACRO P1
JS P1
ENDM
JNPE MACRO P1
JNP P1
ENDM
JNPO MACRO P1
JP P1
ENDM
JNNA MACRO P1
JA P1
ENDM
ASGP MACRO P1,P2,P3,P4,P5,P6
LOCAL LBL
IFNB <P6>
JN&P6 LBL
ENDIF
IFNB <P2>
IFNB <P4>
MOV CX,OFFSET ((P4)*256+(P2))
ELSE
MOV CL,P2
ENDIF
ELSE
IFNB <P4>
MOV CH,P4
ENDIF
ENDIF
IFNB <P1>
MOV DX,OFFSET (P1)
ENDIF
IFNB <P3>
MOV BX,OFFSET (P3)
ENDIF
CALL P5
IFNB <P6>
LBL:
ENDIF
ENDM
ASGI MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9
LOCAL AI1,AI2
IFNB <P4>
JN&P4 AI2
ENDIF
ASGP P1,,,(OFFSET(AI2-AI1)),P3
AI1: ASGM DB,P2,P5,P6,P7,P8,P9
AI2:
ENDM
CVAB2 MACRO P1,P2,P3,P4,P5
LOCAL LBL
IFNB <P5>
JN&P5 LBL
ENDIF
IFB <P4>
ASGP ,P2,P3,' ',MSC047
ELSE
ASGP ,P2,P3,P4,MSC047
ENDIF
IFNB <P1>
XCHG BX,DX
MOV WORD PTR P1,BX
ENDIF
IFNB <P5>
LBL:
ENDIF
ENDM
OIOXC MACRO P1,P2,P3,P4
LOCAL OIOXCL,L_7,L_8
ASGP P1,,,,P2
IFNB <P3>
IFB <P4>
JNC L_7
JMP P3
L_7:
ELSE
JC L_8
JMP P3
L_8:
ENDIF
ELSE
JC L_9
JMP OIOXCL
L_9:
ABORT
OIOXCL:
ENDIF
ENDM
CVBDZ3 MACRO P1,P2,P3
IFNB <P2>
ASGP P1,,,P2,P3
ELSE
ASGP P1,,,' ',P3
ENDIF
ENDM
ASGM MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9,P10,P11
IRP P0,<P2,P3,P4,P5,P6,P7,P8,P9,P10,P11>
IFNB <P0>
P1 P0
ENDIF
ENDM
ENDM
PUSHM MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
ASGM PUSH,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
ENDM
POPM MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
ASGM POP,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
ENDM
INCM MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
ASGM INC,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
ENDM
DECM MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
ASGM DEC,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
ENDM
CALLM MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
ASGM CALL,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
ENDM
JMPM MACRO P1,P2,P3,P4,P5,P6,P7,P8
ASGM JMP,P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
ENDM
ADDM MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
IRP P0,<P1,P2,P3,P4,P5,P6,P7,P8,P9,P10>
IFNB <P0>
ADD AL,P0
ENDIF
ENDM
ENDM
DADM MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
IRP P0,<P1,P2,P3,P4,P5,P6,P7,P8,P9,P10>
IFNB <P0>
ADD BX,P0
ENDIF
ENDM
ENDM
SHLDM MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
IRP P0,<P1,P2,P3,P4,P5,P6,P7,P8,P9,P10>
IFNB <P0>
MOV WORD PTR (P0),BX
ENDIF
ENDM
ENDM
STAM MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
IRP P0,<P1,P2,P3,P4,P5,P6,P7,P8,P9,P10>
IFNB <P0>
MOV BYTE PTR (P0),AL
ENDIF
ENDM
ENDM
RLM MACRO P1
REPT P1
ROL AL,1
ENDM
ENDM
RRM MACRO P1
REPT P1
ROR AL,1
ENDM
ENDM
SLM MACRO P1
REPT P1
SHL AL,1
ENDM
ENDM
SRM MACRO P1
REPT P1
SHR AL,1
ENDM
ENDM
SAVE MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
PUSHM P1,P2,P3,P4,P5,P6,P7,P8,P9,P10
RESTORE MACRO
POPM P10,P9,P8,P7,P6,P5,P4,P3,P2,P1
ENDM
ENDM
NI MACRO P1,P2
AND BYTE PTR P1,P2
ENDM
OI MACRO P1,P2
OR BYTE PTR P1,P2
ENDM
XI MACRO P1,P2
XOR BYTE PTR P1,P2
ENDM
CCI MACRO P1,P2
CMP BYTE PTR P1,P2
ENDM
TM MACRO P1,P2
LOCAL TML
TEST BYTE PTR P1,P2
JZ TML
CMP BYTE PTR P1,P2
STC
JNZ TML
MOV AH,1
OR AH,AH
TML:
ENDM
CA MACRO P1
LOCAL JCRCL
JNA JCRCL
CALL P1
JCRCL:
ENDM
RA MACRO
LOCAL JCRCL
JNA JCRCL
RET
JCRCL:
ENDM
CNA MACRO P1
LOCAL JCRCL
JA JCRCL
CALL P1
JCRCL:
ENDM
RNA MACRO
LOCAL JCRCL
JA JCRCL
RET
JCRCL:
ENDM
DBDW MACRO P1,P2
DB P1
DW OFFSET (P2)
ENDM
DBDWR MACRO P1,P2
DB P1,HIGH (P2),LOW (P2)
ENDM
SORT MACRO P1
MOV AL,'&P1'
MOV BX,OFFSET (KEYTB&P1)
CALL GENSRT
MOV CX,OFFSET (KBLN&P1)
CALL REORG
ENDM
KEY MACRO P1,P2,P3,P4
$1 = $1+P2
DBDW P2,P1
DB '&P3','&P4'
ENDM
KEYEND MACRO
DB 0
DB $1+2 DUP (?)
IF $1 GT $1A
$1A = $1
ENDIF
$1 = 0
ENDM
HELP MACRO P1,P2,P3
LOCAL L_1
IFNB <P3>
DEC AL
JNZ L_1
CALL HR&P1&P3
L_1:
ELSE
IFB <P1>
MOV AX,CS
MOV DS,AX
DOS 9,ERASE
JMP SHORT HR
SELECT: DOS 9
DOS 9,SELMSG
COMDSP: DOS 1
PUSH AX
DOS 9,ERASE
POP AX
SUB AL,'0'
RET
DSPPAG: DOS 9
DOS 9,PAGMSG
JMP SHORT COMDSP
SELMSG DB 13,10,'Selection:$'
PAGMSG DB 13,10,'Press any key to continue ... $'
ERASE DB 13,10,10,10,10,10,10,10,10,10,10,10,10
DB 10,10,10,10,10,10,10,10,10,10,10,10,'$'
ENDIF
HR&P1:
IFB <P2>
ASGP HM&P1,,,,DSPPAG
SUB AL,AL
RET
ELSE
ASGP HM&P1,,,,SELECT
JNZ L_1
RET
L_1:
$1 = 0
REPT P2
$1 = $1+1
HELP P1,,%$1
ENDM
JMP SHORT HR&P1
ENDIF
ENDIF
ENDM
INIT MACRO P1
ASGP P1,,,,SYS011
ENDM
ABORT MACRO
CALL SYS07
ENDM
DOS MACRO P1,P2,P3
LOCAL LBL
IFNB <P3>
JN&P3 LBL
ENDIF
IFNB <P1>
MOV AH,P1
ENDIF
IFNB <P2>
MOV DX,OFFSET (P2)
ENDIF
INT 21H
IFNB <P3>
LBL:
ENDIF
ENDM
BIOS MACRO P1,P2
IFNB <P2>
MOV CX,OFFSET (P2)
ENDIF
CALL SYS013+(P1*3)
ENDM
EXIT MACRO P1
LOCAL LI1
IFB <P1>
JMP SYS012
ELSE
IFSTR P1
IF $12
CALL SYS014
DB LI1-$-1,P1
LI1:
ELSE
MOV DX,OFFSET (P1)
JMP SYS015
ENDIF
ENDIF
ENDM
OPENI MACRO P1,P2,P3
OIOXC P1,SYS031,P2,P3
ENDM
OPENO MACRO P1,P2,P3
OIOXC P1,SYS032,P2,P3
ENDM
OPENX MACRO P1,P2,P3
OIOXC P1,SYS033,P2,P3
ENDM
CLOSE MACRO P1,P2,P3
OIOXC P1,SYS034,P2,P3
ENDM
LINKX MACRO P1
MOV BX,OFFSET (P1)
JMP SYS061
ENDM
CVDB MACRO P1,P2,P3,P4
ASGP P1,P2,P3,P4,CNV011
DB 10
ENDM
CVOB MACRO P1,P2,P3,P4
ASGP P1,P2,P3,P4,CNV011
DB 8
ENDM
CVBD MACRO P1,P2,P3,P4
ASGP P1,P2,P3,P4,CNV012
DB 10
ENDM
CVBO MACRO P1,P2,P3,P4
ASGP P1,P2,P3,P4,CNV012
DB 8
ENDM
CDBD MACRO P1,P2,P3,P4,P5,P6
CVBD P1,P2,P3,P4
ASGP ,P2-1,P1,P5,MSC051
MOV AL,P6
MOV BYTE PTR P1+P2,AL
ENDM
CVBS MACRO P1,P2,P3
ASGP P1,,P3,P2,CNV021
ENDM
CVBH MACRO P1,P2,P3
ASGP P1,,P3,P2,CNV022
ENDM
CVSB MACRO P1,P2,P3
ASGP P1,,P3,P2,CNV023
ENDM
CVHB MACRO P1,P2,P3
ASGP P1,,P3,P2,CNV024
ENDM
MULB MACRO P1,P2,P3,P4
ASGP P1,P2,P3,P4,FXP011
ENDM
DIVB MACRO P1,P2,P3,P4
ASGP P1,P2,P3,P4,FXP012
ENDM
PACK MACRO P1,P2,P3
ASGP P1,,P3,P2,MSC16
ENDM
UNPK MACRO P1,P2,P3
ASGP P1,,P3,P2,MSC17
ENDM
FIND MACRO P1,P2,P3,P4
$1 = LOW (P4)
ASGP P1,$1,P3,P2,MSC22
ENDM
FINDA MACRO P1,P2,P3,P4
$1 = LOW (P4)
ASGP P1,$1,P3,P2,MSC23
ENDM
MVCL MACRO P1,P2,P3,P4
IFNB <P2>
MOV CX,OFFSET (P2)
ENDIF
ASGP P1,,P3,,MSC252,P4
ENDM
BTIR MACRO
CALL $BTIR
ENDM
BTDR MACRO
CALL $BTDR
ENDM
CLCL MACRO P1,P2,P3
IFNB <P2>
MOV CX,OFFSET (P2)
ENDIF
ASGP P1,,P3,,MSC262
ENDM
FILL MACRO P1,P2,P3
ASGP P1,,,,MSC011
DB P3,P2
ENDM
MVCMI MACRO P1,P2,P3,P4,P5,P6,P7,P8,P9
IFNB <P3>
MOV AH,P3
ENDIF
ASGI P1,P2,MSC281,P4,P5,P6,P7,P8,P9
ENDM
MVCM MACRO P1,P2,P3,P4,P5
IFNB <P4>
MOV AH,P4
ENDIF
ASGP P1,,P3,P2,MSC282,P5
ENDM
MVCI MACRO P1,P2,P3,P4,P5,P6,P7,P8
ASGI P1,P2,MSC021,P3,P4,P5,P6,P7,P8
ENDM
MVC MACRO P1,P2,P3,P4
ASGP P1,,P3,P2,MSC022,P4
ENDM
CVBDZ1 MACRO P1,P2,P3
IFNB <P2>
MOV AL,BYTE PTR P2
ENDIF
CVBDZ3 P1,P3,MSC043
ENDM
CVBDZ2 MACRO P1,P2,P3
IFNB <P2>
MOV BX,WORD PTR P2
ENDIF
CVBDZ3 P1,P3,MSC046
ENDM
CVBB2 MACRO P1,P2,P3,P4
CVAB2 P1,2,P2,P3,P4
ENDM
CVDB2 MACRO P1,P2,P3,P4
CVAB2 P1,10,P2,P3,P4
ENDM
CVHB2 MACRO P1,P2,P3,P4
CVAB2 P1,16,P2,P3,P4
ENDM
CVOB2 MACRO P1,P2,P3,P4
CVAB2 P1,8,P2,P3,P4
ENDM
BQUE MACRO P1
IFNB <P1>
MOV BX,OFFSET (P1)
ENDIF
MOV WORD PTR MSC06A,BX
ENDM
CQUE MACRO P1
ASGP ,,P1,,MSC061
ENDM
SCQUE MACRO P1
IFNB <P1>
MOV AL,P1
ENDIF
CALL MSC062
ENDM
FQUE MACRO
CALL MSC063
ENDM
TQUE MACRO
CALL MSC064
ENDM
CLRQUE MACRO
CALL MSC065
ENDM
FSCQUE MACRO P1
IFNB <P1>
MOV AL,P1
ENDIF
CALL MSC066
ENDM
LFQUE MACRO
CALL MSC067
ENDM
PQUE MACRO
CALL MSC068
ENDM
LPQUE MACRO
CALL MSC069
ENDM
ADDB MACRO P1,P2,P3
ASGP P1,P2,P3,,MSC07
ADC AL,M
ENDM
SUBB MACRO P1,P2,P3
ASGP P1,P2,P3,,MSC07
SBB AL,M
ENDM
NC MACRO P1,P2,P3
ASGP P1,P2,P3,,MSC07
AND AL,M
ENDM
OC MACRO P1,P2,P3
ASGP P1,P2,P3,,MSC07
OR AL,M
ENDM
XC MACRO P1,P2,P3
ASGP P1,P2,P3,,MSC07
XOR AL,M
ENDM
SHLB MACRO P1,P2,P3
ASGP P1,P2,,,MSC081,P3
ENDM
SHRB MACRO P1,P2,P3
ASGP P1,P2,,,MSC082,P3
ENDM
NEGB MACRO P1,P2,P3
ASGP ,,P1,P2,MSC181,P3
ENDM
NOTB MACRO P1,P2,P3
ASGP ,,P1,P2,MSC182,P3
ENDM
INCB MACRO P1,P2,P3
ASGP ,,P1,P2,MSC183,P3
ENDM
TWR MACRO P1,P2
CALL MSC11
DB P1,P2
ENDM
TR MACRO P1,P2,P3
ASGP P1,P2,P3,,MSC121
MOV [SI],AL
ENDM
TRT MACRO P1,P2,P3
ASGP P1,P2,P3,,MSC121
OR AL,AL
ENDM
CDEHL MACRO
CMP DX,BX
ENDM
SUBDE MACRO
SUB BX,DX
ENDM
CLCI MACRO P1,P2,P3,P4,P5,P6,P7
ASGI P1,P2,MSC142,,P3,P4,P5,P6,P7
ENDM
CLCC MACRO P1,P2,P3
ASGP P1,,P3,P2,MSC143
ENDM
CLCUI MACRO P1,P2,P3,P4,P5,P6,P7
ASGI P1,P2,MSC292,,P3,P4,P5,P6,P7,P8
ENDM
CLCU MACRO P1,P2,P3
ASGP P1,,P3,P2,MSC293
ENDM
CLCAI MACRO P1,P2,P3,P4,P5,P6,P7
ASGI P1,P2,MSC302,,P3,P4,P5,P6,P7
ENDM
CLCA MACRO P1,P2,P3
ASGP P1,,P3,P2,MSC303
ENDM
TZERO MACRO P1,P2
ASGP ,,P1,P2,MSC152
ENDM
ZAB MACRO P1,P2,P3,P4
ASGP P1,P2,P3,P4,MSC20
SBB AL,AL
ENDM
ZAP MACRO P1,P2,P3,P4
ASGP P1,P2,P3,P4,MSC20
SUB AL,AL
ENDM
DADA MACRO P1
IFNB <P1>
MOV AL,P1
ENDIF
CALL MSC212
ENDM
DADSA MACRO P1
IFNB <P1>
MOV AL,P1
ENDIF
CALL MSC213
ENDM
P1
IFNB <P1>
MOV AL,P1
ENDIF
CALL MSC212
ENDM
DADSA MACRO P1
IFNB <P1>
MOV AL,